A portable C compiler for OpenMP V.2.0
نویسندگان
چکیده
This paper presents an overview of OMPi, a portable implementation of the OpenMP API for C, adhering to the recently released version 2.0 of the standard. OMPi is a C-to-C translator which takes C code with OpenMP directives and produces equivalent C code which uses POSIX threads, similarly to other publicly available implementations. However, in contrast to the latter, OMPi is written entirely in C and, more importantly, implements fully version 2.0 of the OpenMP C API. We present major aspects of the implementation, along with performance results.
منابع مشابه
The OMPi OpenMP/C Compiler
We have designed and implemented OMPi, a portable compiler for OpenMP/C. This paper presents an overview of our compiler and its supporting libraries. OMPi is a C-to-C translator that takes C code with OpenMP directives and produces equivalent multithreaded C code ready for execution on a multiprocessor. Our compiler is the only publicly available one that adheres to version 2.0 of the standard...
متن کاملOn the Implementation of OpenMP 2.0 Extensions in the Fujitsu PRIMEPOWER Compiler
The OpenMP Architecture Review Board has released version 2.0 of the OpenMP Fortran language specification in November 2000, and version 2.0 of the OpenMP C/C++ language specification in March 2002. This paper discusses the implementation of the OpenMP Fortran 2.0 WORKSHARE construct, NUM THREADS clause, COPYPRIVATE clause, and array REDUCTION clause in the Parallelnavi software package. We foc...
متن کاملPortable Compilers for OpenMP
The recent parallel language standard for shared memory multiprocessor (SMP) machines, OpenMP, promises a simple and portable interface for programmers who wish to exploit parallelism explicitly. In this paper, we present our effort to develop portable compilers for the OpenMP parallel directive language. Our compiler consists of two parts. Part one is an OpenMP parallelizer, which transforms s...
متن کاملPractical Compiler Techniques on Efficient Multithreaded Code Generation for OpenMP Programs
State-of-the-art multiprocessor systems pose several difficulties: (i) the user has to parallelize the existing serial code; (ii) explicitly threaded programs using a thread library are not portable; (iii) writing efficient multi-threaded programs requires intimate knowledge of machine’s architecture and micro-architecture. Thus, well-tuned parallelizing compilers are in high demand to leverage...
متن کاملStrategies and Implementation for Translating OpenMP Code for Clusters
OpenMP is a portable shared memory programming interface that promises high programmer productivity for multithreaded applications. It is designed for small and middle sized shared memory systems. We have developed strategies to extend OpenMP to clusters via compiler translation to a Global Arrays program. In this paper, we describe our implementation of the translation in the Open64 compiler, ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2005